package cn.xingzhe.monster.user.domain.exception;

/**
 * 用户不存在异常
 *
 * @author System
 * @version 1.0.0
 * @since 2024-01-01
 */
public class UserNotFoundException extends UserException {

    private static final String ERROR_CODE = "A0201";
    private static final String DEFAULT_MESSAGE = "用户不存在";

    /**
     * 构造函数
     */
    public UserNotFoundException() {
        super(ERROR_CODE, DEFAULT_MESSAGE);
    }

    /**
     * 构造函数
     *
     * @param message 错误消息
     */
    public UserNotFoundException(String message) {
        super(ERROR_CODE, message);
    }

    /**
     * 创建用户不存在异常
     *
     * @param identifier 用户标识（用户名、邮箱或手机号）
     * @return UserNotFoundException
     */
    public static UserNotFoundException of(String identifier) {
        return new UserNotFoundException("用户不存在: " + identifier);
    }

    /**
     * 根据用户ID创建异常
     *
     * @param userId 用户ID
     * @return UserNotFoundException
     */
    public static UserNotFoundException byId(String userId) {
        return new UserNotFoundException("用户不存在，ID: " + userId);
    }
}

